Data storage system having data restore by swapping logical units

ABSTRACT

This invention is a system and method for managing replication of data distributed over one or more computer systems. A data storage system can perform computer-executed steps of establishing one or more mirrored copies of data that are copies of one or more volumes of standard data (e.g. a database) on a first computer system. In one embodiment, the mirrored data is restored using logical volume swapping.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims the benefit of U.S. applicationSer. No. 09/894,422, filed on Jun. 28, 2001, which is incorporatedherein by reference.

[0002] A portion of the disclosure of this patent document containscommand formats and other computer language listings, all of which aresubject to copyright protection. The copyright owner, EMC Corporation,has no objection to the facsimile reproduction by anyone of the patentdocument or the patent disclosure, as it appears in the Patent andTrademark Office patent file or records, but otherwise reserves allcopyright rights whatsoever.

FIELD OF THE INVENTION

[0003] The invention relates generally to managing data in a datastorage environment, and more particularly to a system and method formanaging replication of data distributed over one or more computersystems.

BACKGROUND OF THE INVENTION

[0004] As is known in the art, computer systems which process and storelarge amounts of data typically include a one or more processors incommunication with a shared data storage system in which the data isstored. The data storage system may include one or more storage devices,usually of a fairly robust nature and useful for storage spanningvarious temporal requirements, e.g. disk drives. The one or moreprocessors perform their respective operations using the storage system.To minimize the chance of data loss, the computer systems also caninclude a backup storage system in communication with the primaryprocessor and the data storage system. Often the connection between theone or more processors and the backup storage system is through anetwork in which case the processor is sometimes referred to as a“backup client.”

[0005] The backup storage system can include a backup storage device(such as tape storage or any other storage mechanism), together with asystem for placing data into the storage device and recovering the datafrom that storage device. To perform a backup, the client copies datafrom the shared storage system across the network to the backup storagesystem. Thus, an actual data file may be communicated over the networkto the backup storage device.

[0006] The shared storage system corresponds to the actual physicalstorage. For the client to write the backup data over the network to thebackup storage system, the client first converts the backup data intofile data i.e., the client retrieves the data from the physical storagesystem level, and converts the data into application level format (e.g.a file) through a logical volume manager level, a file system level andthe application level. When the backup storage device receives the datafile, the backup storage system can take the application level datafile, and convert it to its appropriate file system level format for thebackup storage system. The data can then be converted through thelogical volume manager level and into physical storage.

[0007] The EMC Data Manager (EDM) is capable of such backup and restoreover a network, as described in numerous publications available from EMCof Hopkinton, Mass., including the EDM User Guide (Network) “Basic EDMProduct Manual”. For performance improvements, a backup storagearchitecture in which a direct connection is established between theshared storage system and the backup storage system was conceived. Sucha system is described in U.S. Pat. No. 6,047,294, assigned to assigneeof the present invention, and entitled Logical Restore from a PhysicalBackup in Computer Storage System and herein incorporated by reference.

[0008] Today much of the data processing and storage environment isdedicated to the needs of supporting and storing large databases, whichonly get larger. Although data storage systems, such as the EMCSymmetrix Integrated Cache Disk Array, and some of its supportingsoftware such as TimeFinder have made general advancements in the datastorage art through the advanced use of disk mirroring much of thecapability of such technology is beyond the grasp of most entities. Thisis because of an ever-increasing shortage of skilled computerprofessionals. Typically, an entity such as a company might employ orcontract a data storage administrator to take care of data storageneeds, a database programmer to take of database needs and generalnetwork administrators and other information technology professionals totake care of general computing needs.

[0009] If one of these skilled professionals leaves or is difficult tohire then the task of storing a database and taking care of its backupand restore needs may be neglected or never happen in the first place.What is needed is a computer-based tool, such as a system or programthat could automate many of these tasks and reduce the complexity sothat such a wide array or depth of skill sets are not needed. Further itwould be an advantage if such a tool provided solutions for disasterrecovery of data.

[0010] Prior art systems have allowed for restoration of source orstandard data from replicated copies, but there has been nostraight-forward simple way to get logical information related to thesource so that another computer could take over the role of a failedcomputer (i.e., serve as a surrogate for the failed computer). There isa long-felt need for a technique to enable extraction of such logicalinformation in a straight-forward non-complex and fast manner so that asurrogate computer could work with replicated copies in substantiallythe same manner as the original source computer that had operated withstandard data. This would be advancement in the art with particularrelevance in the field of disaster recovery.

SUMMARY OF THE INVENTION

[0011] The present invention is a system and method for management ofdata replicated across one or more computer systems.

[0012] The method of this invention allows management of data that maybe replicated across one or more computer systems. The method includesthe computer-executed steps of establishing one or more mirrored copiesof data that are copies of one or more volumes of data that are part ofa first volume group on a first computer system. The mirrored copies ofdata are separated or split from the respective one or more volumes ofdata. Steps include the discovering of logical information related tothe one or more volumes of data that are part of the volume group on thefirst computer system.

[0013] A map is created from the discovered information to map logicalinformation to physical devices on the first computer system. Then aduplicate of the one or more mirrored copies of data is mounted on thesecond computer system by using the map to create a second volume groupthat is substantially identical to the first volume group.

[0014] In an alternative embodiment, the invention includes a system forcarrying out method steps. In another alterative embodiment, theinvention includes a program product for carrying out method steps.

[0015] In a further aspect of the invention, a storage system performs arestore by utilizing logical volume or unit swapping.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The above and further advantages of the present invention may bebetter under stood by referring to the following description taken intoconjunction with the accompanying drawings in which:

[0017]FIG. 1 is a block diagram of a data storage network including hostcomputer systems a data storage system and a backup system and alsoincluding logic for enabling the method of the present invention;

[0018]FIG. 2 is an exemplary representation of a computer-readablemedium encoded with the logic of FIG. 1 for enabling the method of thepresent invention;

[0019]FIG. 3 is a schematic representation of the data storage networkof FIG. 1 in which the invention may be configured to operate withstandard and BCV devices for implementing the method of this invention;

[0020]FIG. 4 is a representation of an embodiment of the logic of FIG. 1and showing a preferred functional structure;

[0021]FIG. 5 is a representation of a general overview of the methodsteps of this invention;

[0022]FIG. 6 is a flow logic diagram illustrating some method steps ofthe invention carried out by the logic of this invention that aregenerally part of the steps shown in FIG. 5;

[0023]FIG. 7 is another flow logic diagram illustrating some methodsteps of the invention carried out by the logic of this invention thatare generally part of the steps shown in FIG. 5;

[0024]FIG. 8 is a flow logic diagram illustrating some method steps ofthe invention carried out by the logic of this invention that aregenerally part of the steps shown in FIG. 5;

[0025]FIG. 9 is a flow logic diagram illustrating some method steps ofthe invention carried out by the logic of this invention that aregenerally part of the steps shown in FIG. 5;

[0026]FIG. 10 is a flow logic diagram illustrating some method steps ofthe invention carried out by the logic of this invention that aregenerally part of the steps shown in FIG. 5;

[0027]FIG. 11 is a flow logic diagram illustrating some method steps ofthe invention carried out by the logic of this invention which aregenerally part of the steps shown in FIG. 5; and

[0028]FIG. 12 is a flow logic diagram illustrating some method steps ofthe invention carried out by the logic of this invention that aregenerally part of the steps shown in FIG. 5;

[0029]FIG. 13 is a schematic block diagram of a storage system havinglogical unit swapping in accordance with the present invention shown inan initial configuration;

[0030]FIG. 14 is a schematic block diagram of the storage system of FIG.13 shown during creation of a logical unit mirror.

[0031]FIG. 15 is a schematic block diagram of the storage system of FIG.13 shown after creation of the mirror.

[0032]FIG. 16 is a schematic block diagram of the storage system of FIG.13 shown with logical unit swapping;

[0033]FIG. 17 is a schematic block diagram of the storage system of FIG.13 shown after restoration of data from the mirror of FIG. 13;

[0034]FIG. 18 is a flow diagram showing an exemplary top level sequenceof steps for implementing logical unit swapping in a storage array inaccordance with the present invention;

[0035]FIG. 19 is a flow diagram showing further details for a portion ofthe flow diagram of FIG. 18;

[0036]FIG. 20 is a flow diagram showing a further portion of the flowdiagram of FIG. 18;

[0037]FIG. 21 is a flow diagram showing additional details for a portionof the flow diagram of FIG. 20; and

[0038]FIG. 22 is a flow diagram showing further details for a portion ofthe flow diagram of FIG. 20.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0039] The methods and apparatus of the present invention are intendedfor use with data storage systems, such as the Symmetrix IntegratedCache Disk Array system available from EMC Corporation of Hopkinton,Mass. Specifically, this invention is directed to methods and apparatusfor use in systems of this type that include transferring a mirrored setof data from a standard device to a redundant device for use inapplications such as backup or error recovery, but which is not limitedto such applications.

[0040] The methods and apparatus of this invention may take the form, atleast partially, of program code (i.e., instructions) embodied intangible media, such as floppy diskettes, CD-ROMs, hard drives, randomaccess or read only-memory, or any other machine-readable storagemedium. When the program code is loaded into and executed by a machine,such as a computer, the machine becomes an apparatus for practicing theinvention. The methods and apparatus of the present invention may alsobe embodied in the form of program code that is transmitted over sometransmission medium, such as over electrical wiring or cabling, throughfiber optics, or via any other form of transmission. And may beimplemented such that herein, when the program code is received andloaded into and executed by a machine, such as a computer, the machinebecomes an apparatus for practicing the invention. When implemented on ageneral-purpose processor, the program code combines with the processorto provide a unique apparatus that operates analogously to specificlogic circuits.

[0041] The logic for carrying out the method is embodied as part of thesystem described below beginning with reference to FIG. 1. One aspect ofthe invention is embodied as a method that is described below withdetailed specificity in reference to FIGS. 5-12.

Data Storage Environment Including Logic for This Invention

[0042] Referring now to, FIG. 1, reference is now made to a data storagenetwork 100 in which the invention is particularly useful and includes adata storage system 119, host computer systems 113 a and 113 b, andbackup system 200.

[0043] In a preferred embodiment the data storage system is a SymmetrixIntegrated Cache Disk Arrays available from EMC Corporation ofHopkinton, Mass. Such a data storage system and its implementation isfully described in U.S. Pat No. 6,101,497 issued Aug. 8, 2000, and alsoin U.S. Pat. No. 5,206,939 issued Apr. 27, 1993, each of which isassigned to EMC the assignee of this invention and each of which ishereby incorporated by reference. Consequently, the following discussionmakes only general references to the operation of such systems.

[0044] The invention is useful in an environment wherein replicating toa local volume denoted as a business continuance volume (BCV) isemployed (FIG. 2). Such a local system which employs mirroring forallowing access to production volumes while performing backup is alsodescribed in the '497 patent incorporated herein.

[0045] The data storage system 119 includes a system memory 114 and setsor pluralities 115 and 116 of multiple data storage devices or datastores. The system memory 114 can comprise a buffer or cache memory; thestorage devices in the pluralities 115 and 116 can comprise disk storagedevices, optical storage devices and the like. However, in a preferredembodiment the storage devices are disk storage devices. The sets 115and 116 represent an array of storage devices in any of a variety ofknown configurations.

[0046] A host adapter (HA) 117 provides communications between the hostsystem 113 and the system memory 114; disk adapters (DA) 120 and 121provide pathways between the system memory 114 and the storage devicepluralities 115 and 116. A bus 122 interconnects the system memory 114,the host adapters 117 and 118 and the disk adapters 120 and 121. Eachsystem memory 114 and 141 is used by various elements within therespective systems to transfer information and interact between therespective host adapters and disk adapters.

[0047] A backup storage system 200 is connected to the data storagesystem 119. The backup storage system is preferably an EMC Data Manager(EDM) connected to the data storage system as described in SymmetrixConnect User Guide, P/N 200-113-591, Rev. C, December 1997, availablefrom EMC Corporation of Hopkinton, Mass. The direct connection betweenthe shared storage system and the backup storage system may be providedas a high-speed data channel 123 such as a SCSI cable or one or morefiber-channel cables. In this system, a user may be permitted to backupdata over the network or the direct connection.

[0048] Backup system 200 includes a backup/restore server 202, Logic 206as part of the server, and a tape library unit 204 that may include tapemedium (not shown) and a robotic picker mechanism (also not shown) as isavailable on the preferred EDM system.

[0049] Logic 206 is installed and becomes part of the EDM for carryingout the method of this invention and the EDM becomes at least part of asystem for carrying out the invention. Logic 206 is preferably embodiedas software for carrying out the methods of this invention and ispreferably included at least as part of a backup/restore server 202 incommunication with the data storage system 119 through an adapter 132(e.g., a SCSI adapter) along communication path 123. Substantiallyidentical logic may also be installed as software on any host computersystem such as 113 a or 113 b, shown as logic 206 a and 206 b,respectively. In a preferred embodiment the software is Unix-based anddaemons are launched by the software for execution where needed on thebackup system, or host computers. The deamons on each of these computerscommunicate through sockets.

[0050] The Logic of this invention, in a preferred embodiment iscomputer program code in the Perl programming language. As shown in FIG.2, it may be carried out from a computer-readable medium such as CD-ROM198 encoded with Logic 206 that acts in cooperation with normal computerelectronic memory as is known in the art. Perl is a Unix-based language(see e.g. Programming Perl, 2nd Edition by Larry Wall, Randal I.Shwartz, and Tom Christiansen, published by O'Reilly and Associates).Nevertheless, one skilled in the computer arts will recognize that thelogic, which may be implemented interchangeably as hardware or softwaremay be implemented in various fashions in accordance with the teachingspresented now.

[0051] Generally speaking, the data storage system 119 operates inresponse to commands from one or more computer or host systems, such asthe host systems 113 a and 113 b, that are each connected via a hostadapter, such as host adapters 117 and 118. The host adapters 117 and118 transfer commands to a command buffer that is part of system memory114. The command buffer stores data structures and write requests thatthe disk adapters generate. The disk adapters, such as the disk adapters120 or 121, respond by effecting a corresponding operation using theinformation in a command buffer. The selected disk adapter theninitiates a data operation. Reading operations transfer data from thestorage devices to the system memory 114 through a corresponding diskadapter and subsequently transfer data from the system memory 114 to thecorresponding host adapter, such as host adapter 117 when the hostsystem 113 a initiates the data writing operation.

[0052] The computer systems 113 a and 113 b may be any conventionalcomputing system, each having an operating system, such as a systemavailable from Sun Microsystems, and running the Solaris operatingsystem (a version of Unix), an HP system running HP-UX (aHewlett-Packard client, running a Hewlett-Packard version of the Unixoperating system) or an IBM system running the AIX operating system (anIBM version of Unix) or any other system with an associated operatingsystem such as the WINDOWS NT operating system.

[0053] A short description of concepts useful for understanding thisinvention and known in the art is now given. A physical disk isformatted into a “physical volume” for use by the management softwaresuch Logical Volume Manager (LVM) software available from EMC. Eachphysical volume is split up into discrete chunks, called physicalpartitions or physical extents. Physical volumes are combined into a“volume group.” A volume group is thus a collection of disks, treated asone large storage area. A “logical volume” consists of some number ofphysical partitions/extents, allocated from a single volume group. A“filesystem” is simply stated a structure or a collection of files. InUnix, filesystem can refer to two very distinct things: the directorytree or the arrangement of files on disk partitions.

[0054] Below is a short description of other useful terminology whichmay be understood in more detail with reference to the incorporated '497patent. When a mirror is “established” the data storage system 119creates a mirror image (copy or replication) of a source or standardvolume. When using the preferred Symmetrix such a mirror is denoted as abusiness continuance volume (BCV), also referred to in general terms asa mirrored disk. and in such a context specifically as a BCV device. Ifdata on the standard volume changes, the same changes are immediatelyapplied to the mirrored disk. When a mirror is “split” the preferredSymmetrix data storage system 119 isolates the mirrored version of thedisk and no further changes are applied to the mirrored volume. After asplit is complete, the primary disk can continue to change but themirror maintains the point-in-time data that existed at the time of thesplit.

[0055] Mirrors can be “synchronized” in either direction (i.e., from theBCV to the standard or visa versa). For example, changes from thestandard volume that occurred after a split to the mirror can be appliedto the BCV or mirrored disk. This brings the mirrored disk current withthe standard. If you synchronize in the other direction you can make theprimary disk match the mirror. This is often the final step during arestore.

[0056] The operation of a BCV device and its corresponding BCV volume orvolumes is more readily understood in terms of data sets stored inlogical volumes and is useful for understanding the present invention.As known, any given logical volume may be stored on a portion or all ofone physical disk drive or on two or more disk drives.

[0057] Referring to FIG. 3, in this particular embodiment, disk adapter120 (FIG. 1) controls the operations of a series of physical disks 115that are shown in FIG. 3 in terms of logical volumes 212. Thesegmentation or hypering of physical disks into logical volumes is wellknown in the art.

[0058] Similarly a disk adapter interfaces logical volumes 214 to thedata storage system bus 122 (FIG. 1). Each of these volumes 214 isdefined as a Business Continuation Volume and is designated a BCVdevice. The concept of BCV's are described in detail in the incorporated'497 patent so will be only generally descried herein. Each BCV devicecomprises a standard disk controller and related disk storage devices asshown in FIG. 1 especially configured to independently supportapplications and processes. The use of these BCV devices enables a hostsuch as host 113 a, described from here on as the “source” host computersystem to utilize instantaneous copies of the data in the standardvolumes 212. In a conventional operations there typically will be atleast one BCV volume assigned to each host device that will operate on adata set concurrently. However, as will be explained below, thisinvention, in particular logic 206 and its counterparts 206 a and 206 badd additional function so that the BCV volumes established for use byone host may be used by another host, such as host 113 b, described fromhere on as the “target” host computer system.

[0059] Although the invention has particular advantages when the targetand source host computer system are separate distinct computers, theremay also be advantages in having the two combined together. Thus, thetarget and source computer may be integrally combined as one computer.

[0060] Referring again to FIG. 3, host 113 a may continue onlinetransaction processing (such as database transaction processing) orother processing without any impact or load on the volumes 212, whiletheir respective mirror images on BCV's 214 are used to back up data incooperation with backup system 200. However using the Logic of thisinvention the BCV's may be established for use on another hostsubstantially automatically under control of a computer program, ratherthan requiring intervention of an operator all along the way. Theadvantages and details associated with such an operation are describedbelow.

[0061] The direction of data flow for backup is from the data storagesystem 119 to the backup system 200 as represented by arrow 211. Thedirection of data flow for restore is to the data storage system(opposite from arrow 211 ), but the BCV's may be mounted on another hostother than the one originally established in accordance with the methodof this invention.

[0062] The EDM normally offers several options for controlling mirrorbehavior before and after a backup or restore, which are incorporatedwith this invention and are therefore discussed now at a high level.(Further detail about such known polices may be found in a white paperavailable from EMC: Robert Boudrie and David Dysert, EMC Best Practices:Symmetrix Connect and File Level Granularity.)

Pre-Backup Mirror Policy

[0063] Bring Mirrors Down—This option expects to find the mirrorsestablished and it will split the mirrors automatically before thebackup. If the mirrors are down already, the backup will fail and reportan error. The error is designed to prevent the system from backing upmirrors that are in an unexpected state.

[0064] Verify Mirrors are Down—This option expects to find the mirrorssplit and it will leave them split and perform the backup. If themirrors are established at the time of backup, the backup will fail andreport an error. This error is designed to ensure that the backup istaken for the specific point in time that the mirrored data represents.

[0065] Bring Mirrors Down if Needed—This option checks whether themirrors are established or split and it will split the mirrors if theyare established. If you select this option, the backup will not failregardless of the state of the mirrors.

[0066] Bring Mirrors Down after Establishing—This option checks themirrors and if they are not established, the EDM first establishes themirror to ensure that it is an exact copy of data on the primary volume.Then the EDM splits the mirrors to perform the backup.

Post-Backup Mirror Policy

[0067] During post-backup processing, mirror management can beconfigured to do any of the following:

[0068] Bring Mirrors Up—After the restore is complete, the EDMautomatically resynchronizes the mirror to the primary disk.

[0069] Leave Mirrors Down—After the restore is complete, the EDM leavesthe mirrors split from the primary disk.

[0070] Leave Mirrors as Found—After the restore is complete, the EDMresynchronizes the mirrors to the primary disk if they were establishedto begin with. If not, the EDM leaves the mirrors split.

[0071] The invention includes a method for managing data that may bereplicated across one or more computer systems. The method is carriedout in the above-described environment by the Logic of this invention,which in a preferred embodiment is a program code in the Perlprogramming language as mentioned above.

[0072] The method includes the computer-executed steps of establishingone or more mirrored copies of data (BCV's) that are copies of one ormore volumes of data (Standard Volumes). The BCV's are established in aconventional manner as described in the incorporated '497 patent. TheBCV's are separated or split from the respective one more volumes ofdata in a conventional manner and which is also described in theincorporated '497 patent.

[0073] The Standard volumes are part of a volume group on the sourcecomputer system 113 a that has an operating system 210 a (FIG. 3). Theoperating system is preferably a Unix operating system, such as Solarisfrom Sun Microsystems of California, AIX from IBM of New York, or HP-UXfrom Hewlett Packard of California.

[0074] The method further includes discovering logical informationrelated to the Standard volumes that are part of the volume group on thesource computer system 113 a. A map of the logical information tophysical devices on the source computer system is created, preferably inthe form of a flat file that may be converted into a tree structure forfast verification of the logical information. That map is used to builda substantially identical logical configuration on the target computersystem 113 b, preferably after the logical information has been verifiedby using a tree structure configuration of the logical information.

[0075] The logical configuration is used to mount a duplicate of theBCV's on the target computer system (denoted as mounted target BCV's).The newly mounted target BCV's then become part of a second volume groupon the target computer system 113 b that has an operating system 210 b.The operating system is preferably a Unix operating system, such asSolaris from Sun Microsystems of California, AIX from IBM of New York,or HP-UX from Hewlett Packard of California.

[0076] The invention is particularly useful when data on the standardvolumes and BCV's represents data related to an application 208 a and/orapplication 208 b, and in particular the invention is particularlyuseful if the application is a database, such as an Oracle databaseavailable from Oracle Corporation of Redwood, Calif.

[0077] Referring to FIG. 4, the logic 206 includes program code thatenables certain functions and may be thought of as code modules,although the code may or may not be actually structured orcompartmentalized in modular form, i.e., this illustrated concept ismore logical than physical. Accordingly, D/M module 300 serves adiscovery/mapping function; E/S module 302 serves an establish/splitfunction; B/M module 304 serves a build/mount function; B/R module 306serves a backup/restore function; and D/C module 308 serves adismount/cleanup function. Any of the functions may be accomplished bycalling a procedure for running such a function as part of the datastorage system and the backup system.

[0078] The discovery/mapping function, discovers and maps logical tophysical devices on the source host 113 a, and includes such informationas physical and logical volumes, volume groups, and file systeminformation. The establish/split function establishes BCV's or splitssuch from standard volumes, depending on the pre- and post-mirrorpolicies in effect on source host 113 a.

[0079] The build/mount function substantially exports the BCV'sestablished on the source host 113 a to the target host 113 b. Itcreates volume group, logical volume, and file system objects on thetarget host computer system.

[0080] The backup/restore function performs backup of the target hostBCV data that has been exported or migrated from the source host. Thedismount/cleanup function removes all volume group, logical volume, andfilesystem objects from the target host.

Method Steps of the Invention

[0081] Now for a better understanding of the method steps of thisinvention the steps are described in detail with reference to FIGS.5-12.

[0082]FIG. 5 shows an overview of the entire process. In step 400 thelogic 206 maps logical to physical devices on the source host. In a step402, the logic establishes or splits standard to BCV's (which may beaccomplished by a call to another function on the data storage system)in accordance with the mirror policy in effect at the source host. Step404, logic builds and mounts on the target host so that the BCV's areexported or migrated to the target host. Step 406 is a step for Backupand/or Restore, as described in more detail below. Step 408 is a cleanupstep in which all volume group logical volume, and filesystem objectsare removed from the target server.

[0083]FIG. 6 is an overview of the steps of the mapping and discoveryprocess. Such processing begins in step 500. The filesystem isdiscovered on the source host in step 502. The logical volume isdiscovered in step 504. The volume group information is discovered onthe source host in step 506. In step 508, the map is created preferablyas a flat file because that is an efficient data structure for compilingand using the information.

[0084] For mapping purposes, in general, the method uses a data storagesystem input file. Preferably the input file is a three-column file thatcontains a list of the standard and BCV device serial numbers containingthe data and the data copies respectively, and the physical address ofthe BCV devices.

[0085] The following is an example of this file: TABLE 1 Example of datastorage system input file Standard (STD) Device BCV Dev 7902C000790B4000 7902D000 790B5000 7902E000 790B6000 7902F00  790B7000

[0086] An example of how such a map is created in the preferredembodiment for each of the preferred operating systems: Solaris, AIX,and HP-UX is now shown in tables 2-4, in the respective order mentioned.TABLE 2 Mapping information for Sun Solaris: Mapping file (for SUNSolaris) The .std Mapping file is generated by a Unix-based call withthe -std option flag. The .std Mapping file is a multi-columned file ofinformation about the Standard devices The columns may include: 1.Device Serial Number-from the Data Storage system input file 2. PhysicalAddress (i.e., c0d0t1) 3. Volume Group 4. Logical Volume Name 5. FileType 6. Mount Point 7. Serial Number 8. Device Type

[0087] The following is an example of a flat file using such informationfor a Solaris operating system:

[0088] 3701F000 clt0d0s2 testvg1 vol01 ufs/mir1 947015961.1105.sunmir2sliced

[0089] 3701F000 clt0d0s2 testvg1 vol02 ufs/mir1 947015961.1105.sunmir2sliced

[0090] 37020000 clt0d1s2 testvg1 vol01 ufs/mir1 947015961.1105.sunmir2sliced

[0091] 37020000 clt0d1s2 testvg1 vol02 ufs/mir1 947015961.1105.sunmir2sliced TABLE 3 Mapping information for IBM AIX: Mapping file (for IBMAIX) The .std Mapping file is generated by a Unix-based call with the-std option flag. The .std Mapping file is a multi-columned file ofinformation about the Standard devices The columns may include:  1.Device Serial Number-from the Data Storage System  2. Physical Address(i.e., hdisk1)  3. Volume Group  4. Logical Volume Name  5. Volume GroupPartition Size  6. File Type  7. Mount Point  8. Logical VolumePartition size  9. Logical Volume source journal log 10. Logical Volumenumber of devices striped over 11. Logical Volume Stripe size

[0092] The following is an example of a flat file using such informationfor an AIX operating system:

[0093] 37006000 hdisk1 testvg2-2 testvg2-lv01 4 jfs/testvg2/mntpt1 25loglv02 N/A N/A

[0094] 37006000 hdisk1 testvg2-2 testvg2-lv02 4jfs/testvg2/mntpt1/mntpt2 25 loglv02 N/A N/A

[0095] 37006000 hdisk1 testvg2-2 testvg2-lv03 4 jfs/testvg2-3 25 loglv02N/A N/A

[0096] 37006000 hdisk1 testvg2-2 testvg2-lv04 4 jfs/testvg2-4 25 loglv02N/A N/A TABLE 4 Mapping information for HP-UX: Mapping file (for HP-UX)The .std Mapping file is generated by a Unix-based call with the -stdoption flag. The .std Mapping file is a multi-columned file ofinformation about the Standard devices The columns may include: 1.Device Serial Number-from the data storage system input file 2. PhysicalAddress (i.e., c0d0t1) 3. Volume Group 4. Logical Volume Name 5. LogicalVolume Number 6. File Type 7. Mount Point

[0097] The following is an example of a flat file using such informationfor an AIX operating system:

[0098] 7903A000 c3t8d2 vgedm2 lvt8d2 1 vxfs/t8d2

[0099] 7903B000 c3t8d3 vgedm2 lvt8d3 2 vxfs/t8d3

[0100] 7903C000 c3t8d4 vgedm2 lvt8d4 3 vxfs/t8d4

[0101] 7903D000 c3t8d5 vgedm2 lvt8d5 4 vxfs/t8d5

[0102] Referring now to FIG. 7, step 600 uses the flat file to create atree structure. This structure is preferably built by a unix functioncall from information in the mapping files described above. It may bebuilt on both the target host computer system and the source hostcomputer system. It is referred to as a tree because the Volume groupinformation may be placed as the root of the tree and the branchesrepresent the device information within the group and the logicalvolumes within the group. It is used in step 602 to verify the accuracyof the map file before the map file is sent to the target host. The treeis converted to a map preferably as a flat file in step 604. This flatfile map is then sent back to the target in step 606.

[0103] Referring to FIG. 8, the process of establishing/splitting with abackup system is started in step 700. The mirror policy is checked instep 702. An inquiry is posed in step 704 to determine if BCV's areestablished in accordance with the mirror policy. If the answer is nothen BCV's are established in step 706. The BCV's are split from thesource host in step 708. The BCV's are made not ready to the host instep 710.

[0104] Referring to FIG. 9, the process of beginning to build/mountlogical information so the BCV's can be mounted on the target is begunin step 800. The volume groups are created on the target is step 802.Logical volumes are created on the target in step 804. The filesystem iscreated on the target in step 806. The device mount may now be completedwith this logical information related to the BCV's on the target host instep 808.

[0105] Referring to FIG. 10, the newly mounted target BCV's may now bebacked up in step 900. The application is then shut down on the targetin step 902. And following the backup of the target BCV's cleanup stepsas described in FIG. 12 and notification take place in step 904.

[0106] If the software application on the target host in the source hostis a database, then information related to the data may also be backedup, with the effect that essentially the entire database is backed up.Important information from the database includes any transactional dataperformed by the database operations, and related control files, tablespaces, and archives/redo logs.

[0107] Regarding databases, these are other terminology are nowdiscussed. The terminology is described with reference to an Oracledatabase because that is the preferred embodiment but one skilled in theart will recognize that other databases may be used with this invention.

[0108] Control files contain important information in the Oracledatabase, including information that describes the instance where thedatafiles and log files reside. Datafiles may be files on the operatingsystem filesystem. A related term is tablespace that is the lowestlogical layer of the Oracle data structure. The tablespace consists ofone or more datafiles. The tablespace is important in that it providesthe finest granularity for laying out data across datafiles.

[0109] In the database there are archive files known as redo log filesor simply as the redo log. This is where information that will be usedin a restore operation is kept. Without the redo log files a systemfailure would render the data unrecoverable. When a log switch occurs,the log records in the filled redo log file are copied to an archive logfile if archiving is enabled.

[0110] Referring now to FIG. 11, the process for restoring sourcestandard volumes is shown beginning at step 1000. Step 1002, poses aninquiry to determine if the restore is to be from the BCV's on thetarget or tape. In accordance with the answer the standard volumes aresynchronized or restored from the target mounted BCV's or tape,respectively in steps 1004 or 1006. Step 1008 begins the notificationand cleanup steps that are generally described in FIG. 12.

[0111] The cleanup/dismount process begins in step in 1100 as shown inFIG. 12. The BCV's are dismount from the target in step 1102. This maybe accomplished for example with the UNIX umount command. The objectsrelated to volume group, logical volume, and filesystem or move thetarget in steps 1104 and 1106. The cleanup is completed in step 1108.The BCV's are re-established on the source (i.e., made ready to thehost) in step in 1108.

[0112] In another aspect of the invention, a data storage systemincludes a storage array having logical volumes or units that can beaccessed by one or more clients via a switch. A first logical unit canbe replicated to create a copy, i.e., a mirrored BCV, of the firstlogical unit within the storage array. At a given time, the mirrors aresplit so that write operations to disk no longer affect the copy. In thecase where the first logical unit is no longer accessible, such as dueto disk failure, the storage array can provide access to the copy of thefirst logical unit by the client by swapping the logical unit accessedby the host. In one embodiment, the client and/or client application isnot aware that the first logical unit, e.g., original or source, logicalunit is no longer being accessed. If desired, a restore can be performedfrom the copy to the first logical unit and application access to thefirst logical unit can be provided after mirror synchronization for therestore is complete.

[0113]FIG. 13 shows an exemplary system 1200 including a storage array1202 having a series of logical units 1204 a-N and a client 1206 thatcan access the storage array 1202 via a switch 1208, such as a FiberChannel Switch. In an exemplary embodiment, the client 1206, such as aUnix-based workstation, includes an adapter 1206 a, a disk 1206 b, andan application 1206 c, e.g., an Oracle database. The storage array 1202includes a host/disk adapter 1203 for providing access to the logicalvolumes or units, as described above.

[0114] In an initial configuration, the client 1206 and/or application1206 a access the first logical unit 1204 a as described above. That is,the first logical unit 1204 a is presented to the client 1206 as a SCSIdevice having SCSI attributes, e.g., Port 0, target, e.g., target 0, andLUN address, e.g., LUN 0.

[0115] As shown in FIG. 14, a copy of the first logical unit 1204 a canbe created on a second logical unit 1204 b of the storage array 1202.That is, mirror synchronization occurs and subsequent writes to thefirst logical unit 1204 a are also updated on the second logical unit1204 b. As shown in FIG. 15, at a given time, after synchronization, themirror is split so that writes to the first logical unit 1204 a are nolonger made to the copy on the second logical unit 1204 b. At thispoint, the first logical unit 1204 a contains the same data as theclient disk 1206 b, for example, and the second logical unit 1202 b is apoint-in-time copy of the first logical unit 1204 a that can be restoredto the first logical unit 1204 a at a later time.

[0116] Due to some type of disk failure or application failure in theapplication 1206 c, for example, the first logical unit 1204 a may nolonger be available/reliable so that it would be desirable to accessdata from the copy on the second logical unit 1204 b, as shown in FIG.16. In one particular embodiment, the storage array 1202 provides accessto the second logical unit 1204 b, i.e., the copy, instead of the firstlogical unit 1204 a without the client's knowledge. That is, the storagearray 1202 swaps client access from the first logical unit 1204 a to thesecond logical unit 1204 b, as described more fully below. With thisarrangement, a disk-based “instant restore” by logical unit swapping canbe provided.

[0117] The first logical unit 1204 a, which can be provided as a newdisk, can be restored from the second logical unit 1204 b after clientapplication access to disk 1206 b is stopped during the mirrorsynchronization.

[0118] As shown in FIG. 17, the storage array 1202 can optionally againprovide a connection to the first logical unit 1204 a for the client1206 and retain the copy on the second logical unit 1204 b. The firstlogical unit 1204 a is now the restored contents of the copy on thesecond logical unit 1204 b, which is available for subsequent restoreoperations as desired.

[0119]FIG. 18 shows a high level flow diagram having an exemplarysequence of steps for implementing data restores by logical unitswapping in accordance with the present invention. In step 2000, a solvefor storage module, which is described in FIG. 19, obtains host, storageset, logical unit (LUN) info, and the like, that is associated with therestore. The data replication for a first logical unit is performed instep 2002. And in step 2004, the data is restored, as described indetail below.

[0120]FIG. 19 shows further details of the solve for storage module ofFIG. 18. The solve for storage module for various storage types, such asthe original host device, storage set, and LUN, which define the STD andthe BCV. In step 2102, for each OSO (operating system object) that is afile in a file system or raw device, the underlying filesystem isidentified. For each filesystem name, the physical device (raw device)node(s) is discovered in step 2104. In step 2106, the type of storagethe physical device resides on, e.g, Symmetrix, is determined.

[0121] In step 2108, the storage array details are obtained, such asWWN, subsystem name, and any other information that would be required toidentify and communicate to the particular storage array. In step 2110,the system determines the storage array device unit name to which thephysical name corresponds. This converts a host physical device (e.g./dev/rdsk/c?t?d?s?) to the corresponding LUN on the array. In step 2112,the system checks the STD unit type to see if it can be replicated. Ingeneral, the logical unit can contain data in one of the followingformats: JBOD (just a bunch of disks), RAID 0 or RAID 1 or RAID 0+1.Unless otherwise specified, RAID1 is assumed in this description. Theunit should not be a partition of a storage set.

[0122] These formats are well known to one of ordinary skill in the art.In general, RAID 0 (Redundant Array of Independent Disks, level 0)refers to a storageset, which is known as a stripeset, that includesstriped data across an array of disks. A single logical disk can span anumber of physical disks. Note that RAID 0 does not provide redundancy.RAID 1 refers to a storageset, which is known as a mirrorset, of atleast two physical disks that provide an independent copy of the virtualdisk. RAID 0+1 refers to a storageset that stripes data across an arrayof disks and mirrors the data to a BCV.

[0123] In step 2114, the system identifies possible “quick” replicationdisks if the STD unit is RAID 1 or RAID (0+1). In an exemplaryembodiment, three or more member mirrors indicates that there is atleast one mirror that can be used for a quick replication. Without threemember mirrors, the replication will take longer. In step 2116, thesystem obtains storageset details for the STD unit. Exemplaryinformation of interest includes a list of disk members for thestripeset, mirrorset or striped mirrorset, and the size of each member.

[0124]FIG. 20 shows a top level sequence of steps for implementing arestore with logical unit swapping in accordance with the presentinvention. In step 2200, the system prepares for the replication. In anexemplary embodiment, preparation includes adding a replication disk tothe STD mirrorset if the mirrorset has less than a predetermined number,e.g., three, members. If a mirrorset has three or more members when thereplication is run, one of the disks already in the mirrorset isselected for its solution. Exemplary commands are set forth below;

[0125] SET<MIRRORSETNAME>

[0126] MEMBERSHIP=<CURRENT_MEMBERS>+1

[0127] SET<MIRRORSETNAME>NOPOLICY

[0128] SET<MIRRORSETNAME>REPLACE=<CLONE_DISK>

[0129] SET<MIRRORSETNAME>POLICY=<PREVIOUS POLICY>

[0130] The system then checks the state of the STD mirrorset members andwaits until all members are in a normalized (synchronized) state.

[0131] In step 2202, the system executes the desired replication. First,the cloned BCV disk is split or reduced from the STD mirror set using asplit or reduce command, for example. Alternatively, the systemimmediately replaces the reduced disks with additional disks so that themirrorset is always in a position for a quick replication. It isunderstood that a quick replication refers to a process in which thesplit can occur without having to wait for normalization. The systemthen creates a one-member BCV mirrorset from the reduced disk. The BCVmirrorset is then initialized so that it is not destroyed and the nameof the just-created mirrorset is saved. In step 2204, the systemexecutes the mount further details of which are described below inconnection with FIG. 21.

[0132] Referring now to FIG. 21, in step 2300, the system obtains mounthost connection information. It is assumed that the mount host has avalid connection(s). The system also obtains mount host YIBAinformation, such as the WWN(s). In general, the host will have multipleconnections if it has multiple HBAs. The mount host information can bedetermined by the connection data.

[0133] In step 2302, the system defines the BCV LUN for mount hostconnection(s). It is understood that the BCV LUN is assigned a LUN basedon the offset value of the target connection(s). Offset control refersto the LUN number of the unit that will be made available to the host.In one embodiment, the initial visibility of the LUN is to no device. Inan exemplary embodiment, client connections have decimal offsets forlogical units. A logical unit number in an offset for a client has thatclient “see” the storage defined by that logical unit.

[0134] The system, in step 2304, then assigns the BCV LUN to a mounthost connection(s). For hosts with multi-paths, such as SecurePath orother host-based device failover software, the system assigns the LUN tothe all paths involved in the multi-path of the host where the system isto mount the replica. The system should also be aware of the mode inwhich the controller is configured, e.g., transparent failover ormultiple bus failover. The system can also consider the connectionoffset in order to determine the LUNs that are visible on the connectionto the HBA. The preferred path can also be considered.

[0135] The system makes dynamic BCV LUNs visible on the mount host OS instep 2306. In an exemplary embodiment, this occurs without rebooting themount host with the host OS supporting so-called bus rescans. The BCVLUN should be mounted as a specific node. Alternatively, the system candetermine the node assigned to the LUN. In step 2308, the system importsvolume groups and mounts the filesystem.

[0136] It will be readily apparent to one of ordinary skill in the artthat the invention is applicable to a range of other storageconfigurations including other RAID configurations. For example, stepsto handle a RAID 0+1 configuration are similar to those described abovefor RAID 1. In this case, there is a restoration of a replication of afilesystem built on a striped mirrorset (RAID 0+1). It is assumed thatthe Solve for Storage routine has run successfully. A striped mirrorsetis a stripeset where each of the members of the stripe has one or moremirrors.

[0137] Preparation for the replication is the same as that described forRAID 1 above except a) that there will be more than one disk to add,since it is a stripe and each column of the stripe needs to have themirror disk added; and b) there will be more than one set of mirrors tocheck, since it is a stripe and each column of the stripe needs to haveits mirrors normalized. To execute the replication, the BCV disks fromthe striped mirror set are reduced and the mirrors in a stripedmirrorset are reduced in one operation. A BCV stripeset is created fromthe reduced disks. The order of the disks should be the same as thestripeset members that the clone disks came from. The remainingreplication steps are substantially similar to those of RAID 1 exceptthat a) the system initializes the replication or clone stripeset thatwas just created, and b) the system saves the name of the just-createdstripeset. The execute mount procedure is also substantially similar toRAID 1 except that the system defines the LUN from the previouslycreated clone stripeset.

[0138] Replication of a filesystem on a stripeset (RAID 0) is similar tothat described above for RAID 1 and RAID 0 formats. For RAID 0replications, the STD unit is a stripeset of two or more disks. Thereare no mirrors of the unit, so the system creates a temporary stripedmirrorset or RAID 0+1 to create a replication or clone of the stripeset.After the cloning has taken place, the system deletes any temporarycontainers that were created. To prepare the RAID 0 replication, thesystem converts a STD stripeset to a striped mirrorset. Each disk memberof the stripeset is temporarily turned into a mirrorset. Execution ofthe replication is substantially similar to RAID 0+1 and execution ofthe mount is substantially similar to RAID 1.

[0139]FIG. 22 shows an exemplary implementation of restoring a RAID 1replication with logical unit swapping in accordance with the presentinvention. The below description assumes that the unit being restored toalready exists. For RAW (raw device) backup and replication, the systemneeds the device node to exist just as it was when the replica wastaken. The information can come from catalog information created atreplication time and can be managed by the an instant restore daemon(IRD). In general, filesystems will be created as necessary. It isunderstood that the raw device is how the OS perceives the LUN.Filesystems are built on top of raw devices. An application can use araw device or filesystem to store data.

[0140] In step 2400, the system discovers, for the physical devicenode(s), the filesystem name being restored to. If the replication was aRAW device, an instant restore daemon (IRD) provides the device node towhich the system is restoring. In step 2402, the system determines theSTD storage type, e.g., Symmetrix. Storage array details for the STDphysical device are obtained in step 2402. Exemplary details includeworld wide name (WWN), subsystem name, and any other information thatwould be required to communicate to the particular storage array. Instep 2406, the system determines the array device unit name to which theSTD physical name corresponds. This converts a host physical device(e.g. /dev/rdsk/c?t?d?s?) for a Solaris system raw device) to thecorresponding LUN on the array. In one embodiment, information from aSymAPI call is used.

[0141] In step 2408, the system obtains STD mirrorset details for theunit, such as a list of disk members for the mirrorset, the size of eachmember (may be different), status of mirrorset, and fail if restore isnot possible. The filesystem is unmounted in step 2410, such as by afunction call. In step 2412, the system disables volume groups residingon discovered nodes and in step 2414, the system renders the STD device“not ready” on the host OS. The “not ready” status of the STD device ispreferred since the system may delete the unit. In one embodiment, theSTD is made “not ready” after disabling access to the LUN (step 2416 ).

[0142] In step 2416, the system saves the STD LUN information and theSTD mirrorset name. In step 2418, the system disables host access to theSTD LUN and in step 2420 the system deletes the unit(s) associated withthe STD LUN. The system then deletes the STD mirrorset in step 2422. Itis understood that the mirrorset will be recreated after the restore.

[0143] One member of the STD mirrorset is added to the BCV mirrorset instep 2424. The BCV mirrorset has the data the system is to restore from.The system can reuse the spindles/disks that belonged to the units thatwere just deleted. Note that the user should be responsible for creatinga LUN with the same RAID configuration and same number of members as thereplication or clone. Also note that in the case of a RAID 1 or RAID 0+1restore, there is still at least one copy of the STD device until therestore from the BCV has completed. This copy is preserved from step2420 and 2422 and can be retrieved if the restore fails.

[0144] In step 2426, the system waits during the synchronization processfor the BCV mirrorset to normalize. In step 2428, the system reduces theSTD disk from BCV mirrorset. In one embodiment, the system reduces thedisks that were added to the mirrorset. The STD mirrorset is thenre-created in step 2430, such as by using the restored STD disk and theother members of original STD mirrorset.

[0145] It is understood that step 2426 through 2434 are unnecessary toperform a so-called instant restore for which waiting, normalization,and preservation of the BCV are not needed.

[0146] The system then waits for the STD mirrorset to normalize in step2432. Note that it may be possible to skip this step since the data hasbeen restored, but it is currently unprotected by mirrors while thesynchronization is taking place. It may be possible to initiate themirror synchronization process and then continue. In step 2434, therestored mirrorset is initialized so that it is not destroyed. In step2436, STD LUN is re-created using the re-created STD mirrorset.

[0147] In step 2438, the system assigns the STD LUN to a connection(s).In one embodiment, the system assigns the same unit numbers that werediscovered previously. It is assumed that assigning the same unit/LUNnumber will make it accessible to the same OS node. In step 2440, the OSrecognizes the new LUN. And in step 2442, the filesystem is mounted or alogical volume is created to complete the restore.

[0148] It is understood that replication in other configurations, suchas RAID 0 and RAID 0 +1, is well within the scope of the invention. Fora RAID 0 (non-mirrored stripes) restoration, it can be assumed that theunit being restored to already exists. For RAW backup and replication,the system may need the device node to exist just as it was when thereplica was taken. Filesystems will be created as necessary.

[0149] Some of the differences between a RAID 0 restoration and a RAID 1restoration are described below in conjunction with a comparable RAID 1step in step FIG. 22. Referring to step 2416, in the RAID 0 restoration,the saved STD stripeset information can include the stripeset name andthe stripeset disk member order, which can be re-created after therestore. In contrast to step 2424, in a RAID 0 format the system makeseach BCV stripeset member into one-member mirrorset. This creates astriped mirrorset (RAID 0+1) from the BCV stripeset. In the equivalentstep 2426, for RAID 0 restoration, the system adds each member of theSTD stripeset to the corresponding BCV mirrorset. The BCV stripedmirrorset has the data from which the restoration is performed. Here thesystem can reuse the spindles/disks that belonged to the units of theSTD stripeset that was just deleted. Note that unlike the case of a RAID1 restore, there are no valid copies of any STD device once the restorefrom the BCV has started.

[0150] In the comparable 2430 step of the RAID 1 restoration process, inthe RAID 0 restoration the STD stripeset is re-created using restoredSTD disk and the other members of original STD stripeset. The order ofdisks added to stripeset should be noted. The restored stripeset is theninitialized so that it will not be destroyed, the STD LUN is re-created,and the STD LUN is assigned to a connection. The comparable steps of2440 and 2442 are then performed.

[0151] Restoration of a RAID 0+1 (striped mirrors) replication issimilar to a RAID 0 restoration with some differences discussed below.It is assumed that the unit being restored to already exists. For RAWbackup and replication, the systems may need the device node to existjust as it was when the replica was taken. Filesystems will be createdas necessary. In the equivalent of RAID 1 step 2424, the system adds onemember of the STD stripeset to the corresponding BCV mirrorset, whichcontains the data from which the restoration is performed. The systemcan reuse the spindles/disks that belonged to the units of the STDstripeset that were just deleted. Note that like the case of a RAID 1restore, there is a valid copy of each STD device once the restore fromthe BCV has started. The remaining steps are substantially similar tothose described above in conjunction with RAID 0 and/or RAID 1 and willbe readily apparent to one of ordinary skill in the art in view of thedescription contained herein.

[0152] It is understood that the invention is applicable to a variety ofknown storage systems including Symmetrix and Clarion systems by EMCCorporation and HP/Compaq StorageWorks systems, such as the HSG80system.

[0153] A system and method has been described for managing data that maybe replicated across one or more computer systems. Having described apreferred embodiment of the present invention, it may occur to skilledartisans to incorporate these concepts into other embodiments.Nevertheless, this invention should not be limited to the disclosedembodiment, but rather only by the spirit and scope of the followingclaims and their equivalents. One skilled in the art will appreciatefurther features and advantages of the invention based on theabove-described embodiments. All publications and references citedherein are expressly incorporated herein by reference in their entirety.

What is claimed is:
 1. A method of performing a data restore by swappinglogical units, comprising: providing a first logical unit in a storagearray to a client; creating a mirror of the first logical unit on asecond logical unit of the storage array; splitting the mirror from thefirst logical unit; and providing the second logical unit to the clientwithout notifying the client such that the client can access themirrored data.
 2. The method according to claim 1, further includingrecreating the first logical unit from the second logical unit.
 3. Themethod according to claim 1, further including restoring the mirroreddata from the second logical unit to the first logical unit; andreturning client access to the first logical unit.
 4. The methodaccording to claim 3, further including waiting for synchronization ofthe mirror of the second logical unit.
 5. The method according to claim3, further including determining characteristics of a physical storagedevice corresponding to the first logical unit.
 6. The method accordingto claim 5, wherein the storage device characteristics include worldwide name and subsystem name.
 7. The method according to claim 1,further including creating the mirror of the first logical unit in aformat selected from the group consisting of JBOD, RAID 0, RAID 0+1, andRAID
 1. 8. The method according to claim 1, further including selectingthe second logical unit from a plurality of logical units in the storagearray based on visibility to the client.
 9. The method according toclaim 1, further including converting a host physical device location toan identification of the first logical unit.
 10. The method according toclaim 9, further including unmounting a filesystem associated with thefirst logical unit.
 11. The method according to claim 10, furtherincluding disabling client access to the first logical unit.
 12. Themethod according to claim 1, wherein the storage array corresponds toone of a Symmetrix™ system, a Clarion™ system, and an HSG80 ™ system.13. A data storage system, comprising computer-executable logic thatenables the method steps of: providing a first logical unit in a storagearray to a client; creating a mirror of the first logical unit on asecond logical unit of the storage array; splitting the mirror from thefirst logical unit; and providing the second logical unit to the clientwithout notifying the client such that the client can access themirrored data.
 14. The system according to claim 13, further includingrecreating the first logical unit from the second logical unit.
 15. Thesystem according to claim 13, further including restoring the mirroreddata from the second logical unit to the first logical unit; andreturning client access to the first logical unit.
 16. The systemaccording to claim 15, further including waiting for synchronization ofthe mirror of the second logical unit.
 17. The system according to claim5, further including determining characteristics of a physical storagedevice corresponding to the first logical unit.
 18. The system accordingto claim 17, wherein the storage device characteristics include worldwide name and subsystem name.
 19. The system according to claim 13,further including creating the mirror of the first logical unit in aformat selected from the group consisting of JBOD, RAID 0, RAID 0+1, andRAID
 1. 20. The system according to claim 13, further includingselecting the second logical unit from a plurality of logical units inthe storage array based on visibility to the client.
 21. The systemaccording to claim 13, further including converting a host physicaldevice location to an identification of the first logical unit.
 22. Thesystem according to claim 21, further including unmounting a filesystemassociated with the first logical unit.
 23. The system according toclaim 22, further including disabling client access to the first logicalunit.
 24. The system according to claim 13, further including creating amap of logical information on the first logical unit to one or morephysical devices.
 25. The system according to claim 1, wherein thestorage array corresponds to one of a Symmetrix™ system, a Clarion™system, and an HSG80™ system.
 26. A computer readable medium for usewith a data storage system comprising code to enable the steps of:providing a first logical unit in a storage array to a client; creatinga mirror of the first logical unit on a second logical unit of thestorage array; splitting the mirror from the first logical unit; andproviding the second logical unit to the client without notifying theclient such that the client can access the mirrored data.
 27. The mediumaccording to claim 26, further including restoring the mirrored datafrom the second logical unit to the first logical unit; and returningclient access to the first logical unit.